We first load in the data from all participants and transform variables into correct type. We also perform some checks on the data to confirm that it matches our expectations (i.e., in size and structure).
Then we create the our DV, proportion bet, as follows (note that the initial endowment was £3): \[\texttt{prop_bet} = \frac{\texttt{amount bet}}{3}\]
The analysis is based on the following number of participants
## [1] 1003
## # A tibble: 2 x 2
## condition n
## <fct> <int>
## 1 Control 501
## 2 Treatment 502
Our DV clearly does not look normally distributed and shows some clear bump at certain prominent numbers.
Binomial confidence or credibility intervals for the probability to gamble at all:
## method x n mean lower upper
## 1 agresti-coull 608 1003 0.6061815 0.5755911 0.6359616
## 2 asymptotic 608 1003 0.6061815 0.5759439 0.6364190
## 3 bayes 608 1003 0.6060757 0.5758157 0.6362173
## 4 cloglog 608 1003 0.6061815 0.5752055 0.6356554
## 5 exact 608 1003 0.6061815 0.5751698 0.6365680
## 6 logit 608 1003 0.6061815 0.5755731 0.6359785
## 7 probit 608 1003 0.6061815 0.5756531 0.6360706
## 8 profile 608 1003 0.6061815 0.5757014 0.6361198
## 9 lrt 608 1003 0.6061815 0.5757042 0.6361101
## 10 prop.test 608 1003 0.6061815 0.5750905 0.6364488
## 11 wilson 608 1003 0.6061815 0.5755938 0.6359589
We use a custom parameterization of a zero-one-inflated beta-regression model (see also here). The likelihood of the model is given by:
\[\begin{align} f(y) &= (1 - g) & & \text{if } y = 0 \\ f(y) &= g \times e & & \text{if } y = 1 \\ f(y) &= g \times (1 - e) \times \text{Beta}(a,b) & & \text{if } y \notin \{0, 1\} \\ a &= \mu \times \phi \\ b &= (1-\mu) \times \phi \end{align}\]
Where \(g\) is the zero inflation probability (zipp) and reflects the probability to gamble, \(e\) is the conditional one-inflation probability (coi) or conditional probability to gamble everything (i.e., conditional probability to have a value of one, if one gambles), \(\mu\) is the mean of the beta distribution (Intercept), and \(\phi\) is the precision of the beta distribution (phi). As we use Stan for modelling, we need to model on the real line and need appropriate link functions. For \phi the link is log (inverse is exp()), for all other parameters it is logit (inverse is plogis()).
We fit this model and add experimental condition as a factor to the three main model parameters (i.e., only the precision parameter is fixed across conditions). The following table provides the overview of the model and all model parameters and show good convergence.
## Family: zoib2
## Links: mu = logit; phi = log; zipp = logit; coi = logit
## Formula: new_prop ~ condition
## phi ~ 1
## zipp ~ condition
## coi ~ condition
## Data: part2 (Number of observations: 1003)
## Samples: 4 chains, each with iter = 26000; warmup = 1000; thin = 1;
## total post-warmup samples = 1e+05
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept -0.39 0.08 -0.53 -0.24 1.00 150885 79081
## phi_Intercept 1.80 0.10 1.60 1.98 1.00 148824 78750
## zipp_Intercept 0.41 0.09 0.23 0.59 1.00 144188 79203
## coi_Intercept 0.67 0.12 0.43 0.91 1.00 153262 79688
## conditionTreatment -0.02 0.11 -0.24 0.20 1.00 148309 79451
## zipp_conditionTreatment 0.04 0.13 -0.21 0.30 1.00 146634 77364
## coi_conditionTreatment 0.28 0.18 -0.07 0.62 1.00 153503 77877
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
As a visual convergence check, we plot the density and trace plots for the four intercept parameters representing the no message condition or the overall mean (for phi).
We can also plot the three parameters showing the difference distribution of the message condition from the no message condition. These differences are given on the logit scale.
The model does not have any obvious problems, even without priors for the condition specific effects.
As expected the synthetic data generated from the model is able to adequately predict the two peaks at the boundary, but does not fully capture the peaks in between those. However, the mass of the distribution between the peaks seems to be at a similar location in both the observed and the synthetic data.
We first give the table showing the posterior means and 95% CIs.
## # A tibble: 6 x 8
## # Groups: parameter [3]
## parameter condition estimate .lower .upper .width .point .interval
## <fct> <chr> <dbl> <dbl> <dbl> <dbl> <chr> <chr>
## 1 Gamble at all? Control 0.601 0.558 0.643 0.95 mean qi
## 2 Gamble at all? Treatment 0.611 0.568 0.654 0.95 mean qi
## 3 Gamble everything? Control 0.660 0.606 0.713 0.95 mean qi
## 4 Gamble everything? Treatment 0.719 0.667 0.768 0.95 mean qi
## 5 Proportion bet? Control 0.405 0.370 0.441 0.95 mean qi
## 6 Proportion bet? Treatment 0.400 0.362 0.440 0.95 mean qi
For the zero-one inflated components, we can compare the model estimates with the data. Not unsurprisingly, they match quite well.
## # A tibble: 2 x 3
## condition gamble_at_all gamble_everything
## <fct> <dbl> <dbl>
## 1 Control 0.601 0.661
## 2 Treatment 0.612 0.720
The following is the main results figure on the level of the message conditions.
We can also focus and look at the difference distributions from the no message condition (i.e., we do not show the “Yellow versus White” comparison, but all below are against no message condition).
## # A tibble: 6 x 8
## # Groups: parameter [3]
## parameter condition estimate .lower .upper .width .point .interval
## <fct> <fct> <dbl> <dbl> <dbl> <dbl> <chr> <chr>
## 1 Gamble at all? Difference 0.0107 -0.0291 0.0502 0.8 mean qi
## 2 Gamble everything? Difference 0.0588 0.0107 0.107 0.8 mean qi
## 3 Proportion bet? Difference -0.00441 -0.0388 0.0297 0.8 mean qi
## 4 Gamble at all? Difference 0.0107 -0.0503 0.0711 0.95 mean qi
## 5 Gamble everything? Difference 0.0588 -0.0153 0.132 0.95 mean qi
## 6 Proportion bet? Difference -0.00441 -0.0565 0.0478 0.95 mean qi
Same as a figure.
The following plot shows all the difference distributions with overlayed density estimate (in black) and some possible prior distributions in colour (note again that the model did not actually include any priors). These priors are normal priors (who have a higher peak at 0 compared to Cauchy and t) with two different SDs.
We see that even with an extremely small prior with SD = 0.05 we still see evidence for no difference (i.e., black density estimate above the prior at 0) for all but “gamble evewrything” for which we see some evidence for a backfire effect. Note that a prior with SD of .05 means that we expect with 95% probability that the largest effect we observe is 2.50% on the response scale.
The covariates do not differ between conditions (BF provide evidence for the null).
## Bayes factor analysis
## --------------
## [1] Intercept only : 5.980854 ±0.01%
##
## Against denominator:
## pgsi ~ condition
## ---
## Bayes factor type: BFlinearModel, JZS
## Bayes factor analysis
## --------------
## [1] Intercept only : 2.146103 ±0%
##
## Against denominator:
## motives ~ condition
## ---
## Bayes factor type: BFlinearModel, JZS
## Family: zoib2
## Links: mu = logit; phi = log; zipp = logit; coi = logit
## Formula: new_prop ~ condition + pgsi_c + motives_c
## phi ~ 1
## zipp ~ condition + pgsi_c + motives_c
## coi ~ condition + pgsi_c + motives_c
## Data: part2 (Number of observations: 1003)
## Samples: 4 chains, each with iter = 26000; warmup = 1000; thin = 1;
## total post-warmup samples = 1e+05
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept -0.41 0.08 -0.56 -0.26 1.00 205710 76514
## phi_Intercept 1.83 0.10 1.63 2.02 1.00 203461 76604
## zipp_Intercept 0.41 0.09 0.22 0.59 1.00 205881 76875
## coi_Intercept 0.64 0.12 0.40 0.88 1.00 224757 76012
## conditionTreatment 0.02 0.11 -0.20 0.24 1.00 207736 76655
## pgsi_c -0.02 0.02 -0.05 0.01 1.00 185321 82030
## motives_c 0.04 0.02 0.01 0.08 1.00 180360 82784
## zipp_conditionTreatment 0.09 0.13 -0.17 0.35 1.00 210371 74528
## zipp_pgsi_c -0.04 0.02 -0.08 -0.00 1.00 187630 82031
## zipp_motives_c 0.12 0.02 0.08 0.16 1.00 179437 85737
## coi_conditionTreatment 0.30 0.18 -0.04 0.65 1.00 223589 75940
## coi_pgsi_c 0.01 0.03 -0.04 0.06 1.00 182544 80910
## coi_motives_c 0.05 0.03 0.00 0.11 1.00 187043 81872
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
As a visual convergence check, we plot the density and trace plots for the four intercept parameters representing the no message condition or the overall mean (for phi).
We can also plot the three parameters showing the difference distribution of the message condition from the no message condition. These differences are given on the logit scale.
We also check the chains for the PGSI and motives scales.
The figure below provides an alternative visualisation of the relationships between covariates and betting behaviour. In particular, participants were categorized into one of three experimental betting behavior groups: participants who did not bet at all (“none”, 39% of participants), participants who bet some of their money (19% of participants), and participants who bet “all” of their money (42%). For both gambling scales we see a positive relationship between the betting behavior group and the gambling score. Participants who bet more have on average higher scores on the two gambling scales.
##
## none some all
## 0.3938185 0.1874377 0.4187438
This is supported by Bayesian ANOVAs for the enhancement motives scale, with a Bayes factor of over 700,000 for the effect of betting behavior group on motives score. However, there was evidence for a null effect (BF around 50 for the null) for the PGSI effect even though it showed descriptively the same pattern.
Furthermore, the effect on the motive score was not moderated by gambling message condition. The evidence for the absence of a main effect of condition was ambigous (around 1), but there was substantial evidence for the absence of the interaction (BF > 30).
## Bayes factor analysis
## --------------
## [1] condition : 0.1672002 ±0.01%
## [2] gamble_cat : 0.01975068 ±0.03%
## [3] condition + gamble_cat : 0.003595377 ±4.73%
## [4] condition + gamble_cat + condition:gamble_cat : 0.0001172624 ±2.26%
##
## Against denominator:
## Intercept only
## ---
## Bayes factor type: BFlinearModel, JZS
## denominator
## numerator condition gamble_cat condition + gamble_cat condition + gamble_cat + condition:gamble_cat
## gamble_cat 0.1181259 1 5.493354 168.4315
## Bayes factor analysis
## --------------
## [1] condition : 0.465961 ±0%
## [2] gamble_cat : 732922.3 ±0.03%
## [3] condition + gamble_cat : 512465.7 ±1.49%
## [4] condition + gamble_cat + condition:gamble_cat : 20876.64 ±1.44%
##
## Against denominator:
## Intercept only
## ---
## Bayes factor type: BFlinearModel, JZS
## denominator
## numerator condition gamble_cat condition + gamble_cat condition + gamble_cat + condition:gamble_cat
## gamble_cat 1572927 1 1.430188 35.10729
## Family: zoib2
## Links: mu = logit; phi = log; zipp = logit; coi = logit
## Formula: new_prop ~ condition * (pgsi_c + motives_c)
## phi ~ 1
## zipp ~ condition * (pgsi_c + motives_c)
## coi ~ condition * (pgsi_c + motives_c)
## Data: part2 (Number of observations: 1003)
## Samples: 4 chains, each with iter = 26000; warmup = 1000; thin = 1;
## total post-warmup samples = 1e+05
##
## Population-Level Effects:
## Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
## Intercept -0.40 0.07 -0.55 -0.26 1.00 149576 76349
## phi_Intercept 1.88 0.10 1.68 2.07 1.00 141234 71068
## zipp_Intercept 0.41 0.09 0.23 0.59 1.00 151884 75172
## coi_Intercept 0.66 0.12 0.41 0.90 1.00 148768 76899
## conditionTreatment 0.04 0.11 -0.18 0.25 1.00 149993 77267
## pgsi_c -0.05 0.02 -0.09 -0.00 1.00 108212 77319
## motives_c 0.01 0.02 -0.03 0.05 1.00 116616 81537
## conditionTreatment:pgsi_c 0.03 0.03 -0.03 0.09 1.00 104801 73394
## conditionTreatment:motives_c 0.09 0.03 0.02 0.15 1.00 111769 82530
## zipp_conditionTreatment 0.10 0.13 -0.16 0.36 1.00 148214 78171
## zipp_pgsi_c -0.05 0.03 -0.10 -0.00 1.00 107310 82675
## zipp_motives_c 0.12 0.03 0.06 0.17 1.00 107056 79367
## zipp_conditionTreatment:pgsi_c 0.03 0.04 -0.05 0.11 1.00 108816 80950
## zipp_conditionTreatment:motives_c 0.01 0.04 -0.07 0.09 1.00 106044 78853
## coi_conditionTreatment 0.29 0.18 -0.06 0.64 1.00 149070 74143
## coi_pgsi_c 0.02 0.04 -0.05 0.10 1.00 106410 79290
## coi_motives_c 0.03 0.04 -0.04 0.10 1.00 105954 80565
## coi_conditionTreatment:pgsi_c -0.02 0.06 -0.13 0.09 1.00 106727 81024
## coi_conditionTreatment:motives_c 0.05 0.05 -0.05 0.16 1.00 106946 83572
##
## Samples were drawn using sampling(NUTS). For each parameter, Bulk_ESS
## and Tail_ESS are effective sample size measures, and Rhat is the potential
## scale reduction factor on split chains (at convergence, Rhat = 1).
As a visual convergence check, we plot the density and trace plots for the four intercept parameters representing the no message condition or the overall mean (for phi).
We can also plot the three parameters showing the difference distribution of the yellow message condition from the no messafe condition. These differences are given on the logit scale.